Technote 1080

Adding Items to the Printing Manager's Dialogs


ñ⁄éü

Printing ManagerÇΔå›ä∑ê´Çï€Ç¬ÇΩÇflÇÃÉKÉCÉhÉâÉCÉì

àÛç¸É_ÉCÉAÉçÉOÇÃêSëüïîÅFTPrDlgÉåÉRÅ[Éh

àÛç¸É_ÉCÉAÉçÉOÇÃédëg

ìΔé©ÇÃçÄñ⁄Çí«â¡Ç∑ÇÈ

ÉTÉìÉvÉãÉRÅ[Éh

äTó™
DZÇÃÉeÉbÉNÉmÅ[ÉgÇÕPrinting ManagerÇÃÉ_ÉCÉAÉçÉOÇ…ìΔé©ÇÃçÄñ⁄Çí«â¡Ç∑ÇÈï˚ñ@DžǬǢǃê‡ñæÇµÇ‹Ç∑ÅBà»ëOÇÕTechnote PR 09 -- Print Dialogs: Adding ItemsÇΔñºïtÇØÇÁÇÍǃǢNjǵÇΩÅB

Printing ManagerÇê›åvÇ∑ÇÈDžǮǢǃÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ™àÛç¸ÉfÉoÉCÉXÇ≤ÇΔÇ…à·Ç¡ÇΩëŒâûÇéÊÇÁÇ»Ç≠ǃLJǢǢÇÊǧÅAëSî ìIÇ»ÉCÉìÉ^ÉtÉFÅ[ÉXÇ™ópÇ¢ÇÁÇÍNjǵÇΩÅBǵǩǵÅADZÇÃÇÊǧǻÉCÉìÉ^ÉtÉFÅ[ÉXÇ≈ÇÕÉAÉvÉäÉPÅ[ÉVÉáÉìÇÃè_ìÓê´Ç™å¿ÇÁÇÍǃǵNjǧDZÇΔǙdžÇËÇ‹Ç∑ÅBÇΩÇΔǶnjÅAàÛç¸ÇÃç€Ç…àÛç¸É_ÉCÉAÉçÉOÇÃïWèÄÉIÉvÉVÉáÉìà»äOÇÃê›íËèÓïÒÇïKóvÇΔÇ∑ÇÈÉAÉvÉäÉPÅ[ÉVÉáÉìǙdžÇËÇ‹Ç∑ÅBDZÇÃÉeÉbÉNÉmÅ[ÉgÇ≈ÇÕÅAàÛç¸É_ÉCÉAÉçÉOãyÇ—ópéÜê›íËÉ_ÉCÉAÉçÉOÇ…ìΔé©ÇÃçÄñ⁄Çí«â¡Ç∑ÇÈï˚ñ@Çè–âÓǵNjÇ∑ÅB

DZÇÃÉeÉbÉNÉmÅ[ÉgÇ≈ÇÕåªç›ÇÃMacintosh Printing ManagerÇ…ëŒâûÇ∑ÇÈÇΔÇΔLJDžÅAÉTÉìÉvÉãÉRÅ[ÉhLJPascalÇ©ÇÁCÇ…à⁄çsÇ≥ÇÍNjǵÇΩÅB

DZDZÇ≈è–âÓÇ≥ÇÍǃǢÇÈÉTÉìÉvÉãÉRÅ[ÉhÅiPDlogExpand.hqxÅjÇÕÅADZÇÃÉeÉbÉNÉmÅ[ÉgÇÃç≈å„DždžÇÈÉ_ÉEÉìÉçÅ[ÉhçÄñ⁄Ç≈É_ÉEÉìÉçÅ[ÉhÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅB


Printing ManagerÇΔå›ä∑ê´Çï€Ç¬ÇΩÇflÇÃÉKÉCÉhÉâÉCÉì

MacintoshÇÃPrinting ManagerÇÕç°å„LJâ¸ó«Ç≥ÇÍǃǢǴNjÇ∑ÅBǪDZÇ≈ÅAPrinting ManagerÇ™ïœçXÇ≥ÇÍǃLJÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇΔÇÃå›ä∑ê´Çà€éùÇ∑ÇÈÇΩÇflÇÃÉKÉCÉhÉâÉCÉìÇè–âÓǵNjÇ∑ÅB

àÛç¸É_ÉCÉAÉçÉOÇ…ìΔé©ÇÃçÄñ⁄Çí«â¡Ç∑ÇÈç€ÇÕÅADZÇÃÉeÉbÉNÉmÅ[ÉgÇ≈è–âÓÇ∑ÇÈï˚ñ@Ç…è]ǡǃâ∫Ç≥Ç¢ÅBëºÇÃï˚ñ@Ç≈çÄñ⁄Çí«â¡Ç∑ÇÈÇΔÅAå›ä∑ê´Ç™à€éùÇ≈Ç´Ç»Ç≠Ç»ÇÈâ¬î\ê´Ç™Ç†ÇËÇ‹Ç∑ÅB

àÛç¸É_ÉCÉAÉçÉOÇÃä˘ë∂çÄñ⁄ÇçÌèúǵÇΩÇËÅAçÄñ⁄ÉäÉXÉgÇ…çÄñ⁄Çë}ì¸ÇµÇ»Ç¢Ç≈â∫Ç≥Ç¢ÅBçÄñ⁄ÇëùÇ‚Ç∑èÍçáÇÕïKÇ∏çÄñ⁄ÉäÉXÉgÇÃññí[Ç…í«â¡ÇµÇƒâ∫Ç≥Ç¢ÅB

ä˘ë∂çÄñ⁄ÇÃî‘çÜÇÕïœÇÌÇÈâ¬î\ê´Ç™Ç†ÇÈÇÃÇ≈ÅAçÄñ⁄î‘çÜÇ…àÀë∂ǵÇΩê›åvÇÕǵǻǢÇ≈â∫Ç≥Ç¢ÅBÇΩÇΔǶnjÅAImageWriterÇÃópéÜê›íËÉ_ÉCÉAÉçÉODždžÇÈÉhÉâÉtÉgÉ{É^ÉìÇÃî‘çÜÇ…àÀë∂ÇǵǃǢÇÈÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÅAÉhÉâÉtÉgÉ{É^ÉìÇÃî‘çÜÇ™ïœçXÇ≥ÇÍÇΩç€Ç…ê≥èÌÇ…ìÆçÏǵǻÇ≠Ç»ÇËÇ‹Ç∑ÅB

í«â¡Ç∑ÇÈçÄñ⁄ÇÕïKÇ∏âÊñ ÇÃçÇÇ≥ÇÃîºï™à»ì‡Ç≈ÉåÉCÉAÉEÉgǵǃâ∫Ç≥Ç¢ÅBÉAÉbÉvÉãÇÕè´óàìIÇ…çÄñ⁄êîÇëùǵÅAâÊñ ÇÃè„îºï™ëSëÃÇégópÇ∑ÇÈâ¬î\ê´Ç™Ç†ÇËÇ‹Ç∑ÅBÇ‹ÇΩÅALaserWriter 8.4Ç≈ÇÕàÛç¸É_ÉCÉAÉçÉOÇÃê›åvÇ™ïœçXÇ≥ÇÍNjǵÇΩÇ™ÅAǪÇÃëºÇÃàÛç¸ÉhÉâÉCÉoÇΔå›ä∑ê´Çï€Ç¬ÇΩÇflDžLJÅAà¯Ç´ë±Ç´çÇÇ≥ÇÃêßå¿ÇéÁǡǃâ∫Ç≥Ç¢ÅB

LaserWriter 8.4.xÇ≈ÇÕÅAàÛç¸É_ÉCÉAÉçÉOÇ™ëSñ ìIÇ…â¸ëïÇ≥ÇÍNjǵÇΩÅBDZÇÃÉeÉbÉNÉmÅ[ÉgÇ…è]ǡǃçÄñ⁄Çí«â¡ÇµÇƒÇ¢ÇÍÇŒÅAí«â¡çÄñ⁄ÇÕï ÇÃÉyÅ[ÉìÇ…Ç‹ÇΔÇflǃï\é¶Ç≥ÇÍÇ‹Ç∑ÅiÉyÅ[ÉìÇÃÉ^ÉCÉgÉãÇ…ÇÕÉAÉvÉäÉPÅ[ÉVÉáÉìñºÇ™égÇÌÇÍÇ‹Ç∑ÅjÅBñúÇ™àÍDZÇÃÉeÉbÉNÉmÅ[ÉgÇ≈ãLÇ≥ÇÍǃǢǻǢï˚ñ@Ç≈çÄñ⁄Çí«â¡ÇµÇƒÇ¢ÇÁÇŒÅALaserWriter 8.4.xÇ≈ÇÕñ‚ëËÇ™î≠ê∂ǵNjÇ∑ÅBè⁄ǵÇ≠ÇÕdevelop 27 -- Print Hints: The All-New LaserWriter Driver Version 8.4ÇÇ≤óóâ∫Ç≥Ç¢ÅB

àÛç¸É_ÉCÉAÉçÉOÇÃîwåiêFÇΔëSñ êFÇÕîíÇΔçïÇΔÇÕå¿ÇÁǻǢÇÃÇ≈ÅAÉRÉìÉgÉçÅ[ÉãófiÇï`âÊÇ∑ÇÈç€ÇÕè\ï™ãCÇÇ¬ÇØÇƒâ∫Ç≥Ç¢ÅBÇ‹ÇΩÅAîwåiêFÇ‚ëSñ êFÇñ≥à≈Ç…ïœÇ¶ÇΩÇËÇ∑ÇÈÇΔëºÇÃçÄñ⁄Ç…à´âeãøÇãyÇ⁄ǵÅAÉTÉCÉPÇ»êFçáǢDžǻÇËÇ©ÇÀÇ‹ÇπÇÒÅB

àÛç¸É_ÉCÉAÉçÉOÇÃêSëüïîÅFTPrDlgÉåÉRÅ[Éh

àÛç¸É_ÉCÉAÉçÉOÇÃédëgÇê‡ñæÇ∑ÇÈëOÇ…ÅAäeÉ_ÉCÉAÉçÉOÇÃêSëüïîÇΔÇ»ÇÈTPrDlgÉåÉRÅ[ÉhÇóùâÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBTPrDlgÇÕéüÇÃÇÊǧDžÅAPrinting.hÇ≈íËã`Ç≥ÇÍǃǢNjÇ∑ÅB

struct TPrDlg {
         DialogRecord    Dlg;            /*The Dialog window*/
         ModalFilterUPP  pFltrProc;      /*The Filter Proc.*/
         PItemUPP        pItemProc;      /*The Item evaluating proc.*/
         THPrint         hPrintUsr;      /*The user's print record.*/
         Boolean         fDoIt;
         Boolean         fDone;
         long            lUser1;         /* Four longs reserved by Apple */
                                         /* to hang global data.*/
         long            lUser2;         /* More stuff needed by the */
                                         /* printing dialog.*/
         long            lUser3;
         long            lUser4;
 };

			
 typedef struct TPrDlg TPrDlg;
 typedef TPrDlg *TPPrDlg;
 typedef TPrDlg *TPPrDlgRef;

àÛç¸É_ÉCÉAÉçÉOÇ…ä÷Ç∑ÇÈèÓïÒÇÕÇ∑Ç◊ǃTPrDlgÇ…ï€ë∂Ç≥ÇÍǃǢNjÇ∑ÅBà»â∫ÇÃê‡ñæÇ≈ÇÕDZÇÃTPrDlgÇïpî…Ç…éQèΔǵNjÇ∑ÅB

àÛç¸É_ÉCÉAÉçÉOÇÃédëg

ÉAÉvÉäÉPÅ[ÉVÉáÉìÇ©ÇÁPrStlDialogÇ‚PrJobDialogÇåƒÇ‘ÇΔÅAÉvÉäÉìÉ^ÉhÉâÉCÉoÇÕPrDlgMain ()ÇåƒÇ—Ç‹Ç∑ÅBPrDlgMainÇÕéüÇÃÇÊǧDžíËã`Ç≥ÇÍǃǢNjÇ∑ÅB

extern pascal Boolean PrDlgMain (THPrint hPrint, PDlgInitUPP pDlgInit);

PrDlgMainÇÕpDlgInitÇåƒÇ—ÅAÉ_ÉCÉAÉçÉOÉ{ÉbÉNÉXé©ëÃÅiDlgÅjÅAÉ_ÉCÉAÉçÉOÉtÉbÉNä÷êîÅipItemProcÅjÅAÉ_ÉCÉAÉçÉOÉCÉxÉìÉgÉtÉBÉãÉ^ÅipFilterProcÅjÇèâä˙âªÇµÇƒÅAílÇTPrDlgÇ…èëÇ´çûǛNjÇ∑ÅBàÛç¸É_ÉCÉAÉçÉOÇÃèÍçáÇÕPrJobInitÅAópéÜê›íËÉ_ÉCÉAÉçÉOÇÃèÍçáÇÕPrStlInitÇ™PrDlgMainÇ…ìnÇ≥ÇÍÇ‹Ç∑ÅBDZÇÍÇÁÇÃä÷êîÇÕéüÇÃÇÊǧDžíËã`Ç≥ÇÍǃǢNjÇ∑ÅB

extern pascal TPPrDlgRef PrJobInit (THPrint hPrint);
extern pascal TPPrDlgRef PrStlInit (THPrint hPrint);

TPrDlgÉåÉRÅ[ÉhÇèâä˙âªÇµÇΩå„ÅAPrDlgMainÇÕShowWindowÇåƒÇ—Ç‹Ç∑ÅiÉ_ÉCÉAÉçÉOÇÕâBÇ≥ÇÍÇΩèÛë‘Ç≈çÏê¨Ç≥ÇÍǃǢNjÇ∑ÅjÅBéüÇ…ÅAModalDialogÇåƒÇÒÇ≈ÅApFltrProcÇ…ï€ë∂Ç≥ÇÍǃǢÇÈÉ_ÉCÉAÉçÉOÉCÉxÉìÉgÉtÉBÉãÉ^ÇìnǵNjÇ∑ÅBçÄñ⁄Ç™ÉNÉäÉbÉNÇ≥ÇÍÇÈÇΔÅApItemProcÇÃÉRÅ[ÉãÉoÉbÉNä÷êîÇ≈èàóùÇ≥ÇÍÇ‹Ç∑ÅBOKÉ{É^ÉìÇ™ÉNÉäÉbÉNÇ≥ÇÍÇÈÅiÇ‹ÇΩÇÕreturnÇ‚enterÉLÅ[Ç™âüÇ≥ÇÍÇÈÅjÇΔÉvÉäÉìÉgÉåÉRÅ[ÉhÇ™óLå¯Ç…Ç»ÇËÇ‹Ç∑ÅBãtÇ…ÅAÉLÉÉÉìÉZÉãÉ{É^ÉìÇ™ÉNÉäÉbÉNÇ≥ÇÍÇÈÇΔÉvÉäÉìÉgÉåÉRÅ[ÉhÇÕóLå¯Ç…Ç»ÇËÇ‹ÇπÇÒÅB

ìΔé©ÇÃçÄñ⁄Çí«â¡Ç∑ÇÈ

àÛç¸É_ÉCÉAÉçÉOÇ…ìΔé©ÇÃçÄñ⁄Çí«â¡Ç∑ÇÈèÍçáÇÕÅAÉ_ÉCÉAÉçÉOÇ™ï\é¶Ç≥ÇÍÇÈëOÇ…TPrDlgÉåÉRÅ[ÉhÇïœçXÇµÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅBçÄñ⁄ÉäÉXÉgÇÃññí[Ç…í«â¡Ç∑ÇÈçÄñ⁄Çâ¡Ç¶ÅAÉ_ÉCÉAÉçÉOÉtÉbÉNÇΔÉCÉxÉìÉgÉtÉBÉãÉ^ÇÃÉRÅ[ÉãÉoÉbÉNä÷êîÇé©ï™ÇÃï®ÇΔíuÇ´ä∑ǶNjÇ∑ÅBí«â¡ÇµÇΩçÄñ⁄ÇÕí èÌÇÃÉ_ÉCÉAÉçÉOèàóùÇÃâflíˆÇ≈ï`âÊÇ≥ÇÍÇ‹Ç∑ÅB

à»â∫ÇÃÉTÉìÉvÉãÉRÅ[ÉhÇ≈ÇÕÅAèâä˙âªä÷êîÇ™É_ÉCÉAÉçÉOÇÃçÄñ⁄ÉäÉXÉgÇ…ìΔé©ÇÃçÄñ⁄Çë´ÇµÇƒÇ¢Ç‹Ç∑ÅBÇ‹ÇΩÅAïWèÄÉ_ÉCÉAÉçÉOÉtÉbÉNä÷êîÇprPItemProcÇ…ï€ë∂ǵÅATPrDlgÉåÉRÅ[ÉhÇÃpItemProcÇ…êVǵǢÉ_ÉCÉAÉçÉOÉtÉbÉNä÷êîÇê›íËǵNjÇ∑ÅBÉ_ÉCÉAÉçÉOÉtÉbÉNä÷êîÇíuÇ´ä∑ǶÇÈèÍçáÇÕÅAÉRÅ[ÉãÉoÉbÉNä÷êîÇÃíÜÇ©ÇÁïWèÄÉ_ÉCÉAÉçÉOÉtÉbÉNä÷êîÇåƒÇÒÇ≈ÅAä˘ë∂çÄñ⁄Çê≥ǵÇ≠èàóùÇµÇ»ÇØÇÍnjǻÇËÇ‹ÇπÇÒÅB

ÉTÉìÉvÉãÉRÅ[Éh

àÛç¸É_ÉCÉAÉçÉOÇ…çÄñ⁄Çí«â¡Ç∑ÇÈCÇÃÉTÉìÉvÉãÉRÅ[ÉhÇ≈Ç∑ÅB

îıçl

ÉCÉxÉìÉgÉtÉBÉãÉ^Ç™ïKóvÇ»èÍçáLJÅAÉ_ÉCÉAÉçÉOÉtÉbÉNÇΔìØÇ∂óvóÃÇ≈éwíËǵNjÇ∑ÅB


äTó™

à»è„Ç≈Ç∑ÅBDZÇÍÇ≈ãMï˚LJàÛç¸É_ÉCÉAÉçÉOÇ…çÄñ⁄Çí«â¡Ç≈Ç´ÇÈÇÊǧDžǻÇËNjǵÇΩÅB

éQçlï∂å£
Åú Inside Macintosh: Imaging With QuickDraw (Chapter 9)
Åú Inside Macintosh: Macintosh Toolbox Essentials (Chapter 6)
Åú PDlog ExpandÉTÉìÉvÉãÉRÅ[ÉhÅiDZÇÃÉeÉbÉNÉmÅ[ÉgÇ…ïtëÆÅj
Åú StdFileSaverÉTÉìÉvÉãÉRÅ[ÉhÅiDeveloper CD Series: Tool Chest Edition.ÇéQèΔÅj
Åú develop 27 - Print Hints: The All-New LaserWriter Driver Version 8.4 by Dave Polaschek

É_ÉEÉìÉçÅ[ÉhçÄñ⁄
Åú BinHexå`éÆÇÃÉTÉìÉvÉãÉRÅ[ÉhÉtÉHÉãÉ_Åi80kÅj